Como podemos ajudar você?

Informe sua dúvida na busca ou navegue pelas categorias abaixo.

API Envvias

Voltar

Fluxo de pedido Envvias em SANDBOX

 

Antes de iniciarmos o fluxo de pedido Envvias em Sandbox, vamos comparar a diferença entre os status de pedidos normais e Envvias.

 

Pedido Normal - Um pedido normal possui os seguintes status:

 

Pedido Envvias - Em um pedido Envvias, temos a adição de dois novos status, RIN e PRI:



IMPORTANTE:
Nas chamadas dos endpoints a seguir, foram abstraídos os "headers" de "client_id" e "access_token" para facilitar o entendimento, mas eles são obrigatórios e devem ser informados com valores válidos para o "ambiente de sandbox".

 

 Agora vamos ao fluxo de pedido Envvias em Sandbox

O primeiro passo é criar o pedido, e para isso:


1 - O primeiro passo é criar um pedido, informando que ele é "Envvias". Para fazermos isso devemos chamar o endpoint a seguir. Lembrando que este não é o "fluxo real", pois não é o lojista que cria o pedido. Este endpoint existe somente no "ambiente de sandbox".

  • Endpoint: https://sandbox-mktplace.viavarejo.com.br/api/v2/orders

  • Method: POST

  • Request:

 

 

Detalhamento da request: 

  • envvias: true para pedidos Envvias e false para pedidos convencionais;

items:

  • skuSellerId: SKU do produto (somente números);

  • name: Descrição do produto;

  • salePrice: Valor para o produto;

Customer:

  • name: Nome do cliente;

  • gender: Sexo do cliente;

  • documentNumber: CPF do cliente (precisa ser um dado válido);

  • type: Manter como “PF”;

  • email: E-mail do cliente (precisa ser um dado válido);

  • bornAt: Data de nascimento do cliente;

Billing:

  • address: Endereço do cliente;

  • number: Número do endereço do cliente;

  • quarter: Bairro do cliente;

  • city: Cidade do cliente;

  • state: Estado do cliente;

  • countryId: País do cliente (manter “Brasil”);

  • zipCode: Cep do cliente;

Phones:

  • mobile: Número do telefone do cliente.

 

IMPORTANTE:

Caso queira criar um pedido com mais de um item comprado, basta informar o Body da request adicionando mais de uma chave “items”.

Exemplo de pedido com 2 produtos:


Response: Nos "Headers" deste objeto, teremos um atributo chamado "content-location", e no seu valor encontramos o "Order ID" (número do pedido) que foi criado, e vamos utilizar nos demais endpoints.

 

Exemplo: Note que na imagem abaixo que este valor é 1783296001

 

Status do pedido após criação do pedido: Nessa etapa o pedido está com o status PEN ( *consulta GET /orders ) :

 

 

 Segundo passo, aprovando pedido:

 

Agora é preciso realizar o pagamento do pedido. Para fazermos isso devemos chamar o endpoint a seguir.
*Lembrando que esse não é o "fluxo real", pois não é o lojista que comunica o pagamento do pedido. Esse endpoint existe somente no "ambiente de sandbox".
 

  • Endpoint:  https://sandbox-mktplace.viavarejo.com.br/api/v2/orders/status/approved/{​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​orderId}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

  • Method: PUT

  • Request: Não possui um body, então é só deixar em branco.

  • Response: Também não possui um body, avaliamos o sucesso pelo Http Status Code retornado, que deverá ser 200.

 

Exemplo: Utilizando o "Order ID" gerado na criação do pedido:

 

Detalhes importantes:

  • Nessa etapa é realizada a primeira comunicação com o parceiro UX Solutions, responsável pela geração das etiquetas do Envvias, informando os dados do cliente, do lojista, dimensões do produto, peso, etc;

  • No momento não estamos utilizando o endereço real do lojista, e sim um endereço fixo que será igual para todos os lojistas. Isso garante que teremos uma origem válida, coberta pelo serviço de entrega, e não necessita de nenhum cadastro extra de lojistas neste ambiente;

  • Como mencionado anteriormente, na criação do pedido é possível informar qualquer sku, em função disso, estamos enviando dimensões fixas para o parceiro UX Solutions. Com isso eliminamos a necessidade do vínculo entre o lojista e o produto, e garantimos que o produto terá dimensões aceitas. As dimensões utilizadas são: comprimento: 0.3m, largura: 0.49m, altura: 0.22m, peso: 5 Kg;

Status do pedido após pagamento: Aqui o pedido está com o status PAY.

 

 Na terceira etapa gerando Nota Fiscal:

​​​​​​​

O próximo passo é o cadastro da Nota Fiscal. Para fazermos isso devemos chamar o endpoint a seguir. Lembrando que esse endpoint faz parte do "fluxo real" do lojista, de modo que ele exista também no ambiente de produção. A request deste endpoint é bastante semelhante ao endpoint "/orders/{​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​orderId}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/trackings/sent", que os lojistas já conhecem. 

  • Endpoint:  https://sandbox-mktplace.viavarejo.com.br/api/v2/orders/{​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​orderid}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/trackings/invoice

  • Method: POST

  • Request:

 

Detalhamento da request:

  • items: Sku informado na criação do pedido, separado por "-" (traço), informando a quantidade. Como mencionado, já é um padrão ao qual o lojista está acostumado;

invoce:

  • number: Número da nota fiscal;

  • serie: Série da nota fiscal;

  • issueAt: Data da emissão da nota fiscal;

  • accessKey: Chave da nota fiscal;

  • cnpj: CNPJ do seller (precisa ser um dado válido);

  • curredAt: Data de geração do tracking;

 

Response: Possui um body, informando o sucesso ou não da chamada, que pode ser verificado pelo campo "válido" com valor true para sucesso. Além do body podemos validar também pelo Http Status Code.

 Exemplo: Utilizando o "Order ID" gerado na criação do pedido:

 

Status do pedido após emitir a nota fiscal: Aqui o pedido está com o status RIN, pois foi criada somente uma entrega.

 

 

 E para finalizar, na quarta e última etapa gerando etiqueta de envio:

 

Agora você vai gerar a etiqueta
*Lembrando que esse endpoint faz parte do "fluxo real" do lojista, de modo que ele exista também no ambiente de produção.

 

  • LabelNumber: Quantidade opcional de etiquetas.

 

Detalhe importante, aqui é realizada a segunda comunicação com o parceiro UX Solutions, para a geração da etiqueta.

  • Endpoint: https://sandbox-mktplace.viavarejo.com.br/api/v2/orders/{​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​orderid}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/generate-label

  • Method:POST

  • Request:

 

Detalhamento da request:

  • labelNumber: Solicite etiquetas sem informar o item ou a entrega, informando apenas a quantidade de etiquetas que serão geradas
    Exemplo: Quero duas etiquetas para um pedido que contém três itens "labelsNumber": 2).


  • link: Aqui você pode escolher entre etiqueta em link ou em base64. Para escolher entre as opções, basta informar true= enviaremos as etiquetas em link e false= enviaremos as etiquetas em base64.

 Importante: Em ambos os retornos terá as opções de JSON, PDF ou ZPL.

 

Status do pedido após emitir a Nota Fiscal: Aqui o pedido estará com o status macro RIN, e esse também é o último estágio de responsabilidade do lojista, para que encaminhe o (os) pacotes aos correios.

​​​​​​​

 

 

IMPORTANTE:
Consultando os pedidos no
GET/orders/{​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​orderId}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ nos Status micro do pedido, localizado nos campos "controlPoint" e "description", irá visualizar o status referente a geração da etiqueta:

 

Após seguir todo esse fluxo, o Via Marketplace ficará responsável por realizar a marcação do envio e entrega junto à empresa Ux Solutions.

 

Response: Retornaremos de forma síncrona um body com a etiqueta e o formato escolhido para gerá-la. Exemplo de retorno através da opção "labelsNumber": 1,:

​​​​​​​*A opção de buscar a etiqueta está disponível através do endpoint GET /orders/{​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​orderId}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/labels

Exemplo de etiqueta do Envvias Postagem em PDF:  Clique aqui






​​​​​​​
​​​​​​​

 

​​​​​​​Fica a dica
Caso tenha alguma dúvida, entre em contato com nosso time através do e-mail integracao.mktp@viavarejo.com.br e informe o nome da APP e o Client_ID.